Many existing applications provide the ability to obtain data from an external source and use that data for a variety of purposes. For example, Microsoft Excel® is capable of obtaining data from an external data source, such as a database, and using that information in a workbook. The data from those external sources may be used in a variety of ways.
Existing techniques for connecting with an external data source, such as a Structured Query Language (“SQL”) Database or an Online Analytical Processing (OLAP) server, typically utilize a connection file. Generally described, a connection file includes information (referred to herein as “Definition Information”) necessary to access an external data source. For example, the Definition Information of a connection file generally includes a name of the external data source, its location, integrated security, provider information, etc.
FIG. 1 is a block diagram of a typical configuration of a group of applications that obtain information from an external data source. In this example, a client 101, such as a stand alone computing device, includes an application 103, such as Microsoft Excel®, that obtains information from an SQL database 107, an external data source. Typically, when a connection to an external data source is established, a connection file 109 is generated and stored on the client 101. Each data object in the application 103, such as data object 1 111, data object 2 113, and data object 3 115, includes an embedded copy of the connection file that is used to access the SQL database 107.
Although embedding a copy of a connection file into each data object provides a means for each data object to connect to an external data source, modifying and/or replacing those connections is challenging for users, and must be done individually for each data object. For example, if data object 1 111, data object 2 113, and data object 3 115 each connect to SQL Database 107, each of those data objects will contain an embedded copy of the configuration file 109. If the external data source is moved, renamed, or if the user desires to change the connection to a different external data source, the embedded configuration file for each data object 111, 113, 115 must be individually modified or replaced. In addition to it being difficult to alter each individual connection file, existing techniques do not provide a simple means by which to identify the connection files that exist within an existing application.